home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 076-100 / scopedisk83 / popcli4 / popcli.doc < prev    next >
Text File  |  1995-03-19  |  12KB  |  253 lines

  1. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  2. /* |_o_o|\\ Copyright (c) 1986 The Software Distillery.  All Rights Reserved */
  3. /* |. o.| || This program may not be distributed without the permission of   */
  4. /* | .  | || the authors.                                                    */
  5. /* | o  | ||    Dave Baker     Ed Burnette  Jay Denebeim John Mainwaring     */
  6. /* |  . |//     Gordon Keener  Jack Rouse   John Toebes  Doug Walker         */
  7. /* ======                    BBS:(919)-471-6436                              */
  8. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  9.  
  10. POPCLI IV by Gordon Keener, John Toebes
  11.         © 1987, 1988, 1989 The Software Distillery.  All Rights Reserved
  12.  235 Trillingham Ln, Cary, NC 27513
  13.  
  14. Contributions to continue development of this and other fine products for the
  15. Amiga should be sent to the Software Distillery at the above address.
  16.  
  17. Other Products produced by the Software Distillery are:
  18.    BLINK    - the Turbo-charged Alink replacement
  19.    HACK     - The Amiga port of the famous UNIX game
  20.    LARN     - Another famous UNIX game
  21.    MEMWATCH - Protects your machine from random trashes
  22.    MAKE     - A software development tool one shouldn't be without
  23.    KERMIT   - The World renown file transfer protocol brought to the Amiga
  24.    ICONEXEC, SETALTERNATE, SETWINDOW - Icon manipulation tools
  25.    TSIZE    - A short utility for determining directory sizes.
  26. All of these are available on our BBS.
  27.  
  28. Permission is hereby granted to distribute this program provided both this
  29. documentation accompanies the executable and that no charge is made for its
  30. distribution.
  31.  
  32. POPCLI (pronounced POP-SEE-EL-EYE) is designed to solve two problems at once.
  33. First it provides a simple way of starting another CLI at any time without
  34. having to load workbench or exit whatever program you may be using.  Second
  35. it has a builtin screen saver mode that automatically turns off the Amiga
  36. display when there has been no input for a given period of time.
  37.  
  38. Once POPCLI is running, you can use it to get a new CLI from whatever program
  39. you are running by pressing Left Amiga and ESC at the same time.  What this
  40. does is to bring the workbench screen to the front and then start up a new
  41. CLI window on the workbench screen.  This is extremely handy when you start
  42. a program from CLI and then find you need to do a CLI command.
  43.  
  44. The other function that POPCLI performs is to blank the screen for you.  This
  45. saves on the wear of the monitor phospher.  It will do this for you
  46. automatically any time that you have not pressed any key or moved the mouse
  47. for a given period of time regardless of what has been written to the screen.
  48. This is useful when you leave the Amiga on unattended so that you don't have
  49. to mess with the brightness control or, worse yet, turn the monitor off,
  50. putting wear and tear on its power supply.  Furthermore it only takes a
  51. touch of the mouse or any key on the keyboard to bring it all back.
  52.  
  53. The format of the POPCLI command is:
  54.  
  55.     POPCLI [[secs | ADD | REPL] [key]] [[cmdmods] [CMD] cmnd]
  56.     POPCLI FREE [key]
  57.     POPCLI EXEC [key]
  58.     POPCLI BLANK
  59.     POPCLI UNBLANK
  60.     POPCLI QUIT
  61.     POPCLI ?
  62.  
  63. cmdmods:
  64.     [NOWB] [MINMEM nnn] [MINCHIP nnn]
  65.  
  66. From AREXX:
  67.     ADDRESS 'POPCLI4' <popcli-arguments>
  68.  
  69. POPCLI ? prints a summary of POPCLI options.
  70.  
  71. <seconds> is any number of seconds after which the screen saver is to
  72. go into effect.  If nothing is specified it defaults to turning off the
  73. screen after 300 seconds. (Five minutes)  Note that it makes its decision to
  74. shut blank the screen solely upon the absence of any keyboard, gameport, or
  75. mouse input.  Even if a program is printing to the screen it will shut down.
  76. This is not a problem, to unblank the screen merely move the mouse or touch any
  77. key (SHIFT or CTRL are excellent choices since they don't do anything).
  78.  
  79. <key> is the scan code of the key that you wish to act as the command 
  80. executer.  By default this is the Escape key although you may set it to any
  81. other key if an application you use wants to conflict with PopCLI's choice.
  82. Scan codes may be entered in decimal, or in hex (0xnn or 0Xnn). Keys on the
  83. main part of the keyboard may also be specified as 'c', where c is one of
  84. the characters on the keycap; i.e. 's' and 'S' are equivalent to scan code
  85. 0x21. Also, F1-F10, DEL, and ESC are recognized as naming those keys.
  86.  
  87. <command> is the command to be executed when the Left Amiga and <key> keys are
  88. pressed simaultaneously.  By default the command is
  89.    NEWCLI >NIL:
  90. to bring up a CLI window in the center of the screen.  Note the >NIL: on the
  91. command to supress any output that the NEWCLI program may give.  This is
  92. important because at the time the command is executed, the original window
  93. may be long gone.  If you wish to have a CLI come up elsewhere on the screen
  94. you can put the window definition in the command such as:
  95.    NEWCLI >NIL: CON:0/0/640/200/MYCLI
  96. Which will open a CLI to fill the entire (non-interlaced) screen.  POPCLI
  97. does no parsing on the command, merely passing the ENTIRE string without any
  98. processing to AmigaDOS.
  99.  
  100. The ADD (or REPL) keyword allows a new command key to be added to POPCLI without
  101. altering the timeout value. You can specify either a timeout or ADD, but not
  102. both. If the keycode cannot be read as a decimal digit, then you may leave
  103. off the ADD keyword, but I recommend using it for clarity. Whenever a key
  104. is redefined, the old command for that key is forgotten.
  105.  
  106. The FREE keyword will cause POPCLI to free the specified key (default is ESC)
  107. and forget its command. If you wish to re-instate the key, you will have to
  108. specify the full command.
  109.  
  110. The EXEC command will cause the specified key to be executed, just as if it
  111. had been typed at the keyboard.
  112.  
  113. The BLANK keyword causes the screen to immediately blank.
  114.  
  115. The UNBLANK keyword causes the screen to immediately unblank. Useful from
  116. command scripts.
  117.  
  118. The TIME keyword allows you to reset the timeout value without clobbering any
  119. of the key definitions currently in effect.
  120.  
  121. The NOWB keyword, placed in front of a command, will keep POPCLI from popping
  122. the Workbench screen to the front whenever the current key is hit. By default,
  123. POPCLI will pop the Workbench to the front, since the NEWCLI command will
  124. open a window on the Workbench screen. If, for example, you wanted to open
  125. a WShell on the topmost screen (using ConMan V1.3 or later), you could
  126. execute the following:
  127.    POPCLI ADD 0x00 NOWB NEWWSH CON:s*0/0/640/150/topscreen/c
  128.  
  129. The MINMEM and MINCHIP keywords are useful when your popped commands need a
  130. lot of memory. MINMEM suppresses command execution if less than the
  131. specified amount of memory is available; MINCHIP if there is not enough
  132. chip RAM. The numbers are rounded up to 1k increments, and are intended to be
  133. approximate. For instance, if you wish to define the Lamiga-1 key to be
  134. "RUN LSE", and you don't want to run LSE unless there is 50K of chip memory
  135. free, you can do the following:
  136.    POPCLI ADD '1' MINCHIP 50000 CMD RUN LSE
  137.  
  138. The CMD keyword allows commands with names which conflict with other POPCLI
  139. keywords or key codes to be specified. For example,
  140.    POPCLI ADD 0x00 NowB aShell
  141. will cause Lamiga-` to execute the "aShell" command without popping the
  142. Workbench screen forward;
  143.    POPCLI ADD 0x00 CMD NowB aShell
  144. will execute "NowB aShell" after popping the Workbench.
  145. NOTE: POPCLI keywords are NOT case sensitive.
  146.  
  147. Terminating POPCLI:
  148. -------------------
  149. Once PopCLI has been installed, you can terminate it with the command:
  150.    POPCLI QUIT
  151.  
  152. You can change the default interval by giving a number:
  153.    POPCLI 5      -  sets the default timeout to 5 seconds.
  154. This is handy when you want to blank the screen immediately.  Setting the
  155. interval to a very large number:
  156.    POPCLI 99999
  157. Will keep PopCLI from blanking your screen.
  158.  
  159. Setting the interval does not affect the command(s) to be executed.
  160.  
  161. Controlling PopCLI from ARexx:
  162. ------------------------------
  163. PopCLI now has support for an ARexx port. Now, once PopCLI is up, you can
  164. send it commands from an ARexx script with the following ARexx command:
  165.      ADDRESS POPCLI4 <popcli-arguments>
  166. where <popcli-arguments> are any valid PopCLI arguments. Possible uses (or
  167. abuses) of this feature include:
  168.  
  169. * Defining lots of keys is faster using the ARexx port than it would be to
  170.   run PopCLI multiple times in succession.
  171.  
  172. * You can define a PopCLI key to run an ARexx script which re-defines other
  173.   PopCLI keys. Of course, you could do that without the port, but with it,
  174.   you don't have to have the PopCLI module lying around on disk.
  175.  
  176. * Blanking and unblanking the screen around compiles.
  177.  
  178. Installing PopCLI:
  179. ------------------
  180. To install a copy of POPCLI on your workbench, put a copy of POPCLI in your
  181. C directory and edit the Startup-Sequence file in the S directory to add
  182. POPCLI commands of your own taste.
  183.  
  184. Notes:
  185. 1) POPCLI blanks the screen by creating a one bit-blane lo-res screen in front
  186.    of all other screens and setting the background color to solid black.  It
  187.    then turns off the display freeing the cycles for any program that might
  188.    be running.
  189. 2) Once the screen blanks, if the AMIGA is left undisturbed for 68.096 years
  190.    the screen may briefly flash back on for the next 68.096 years.  I have not
  191.    taken the time to test this.  If this turns out to be a problem, please
  192.    let me know.
  193.  
  194. Enhancements Provided under POPCLI II:
  195.  
  196. * POPCLI now runs from WORKBENCH.  An icon is provided for doing so.  When
  197.   run from workbench, the default command and default times will be used.
  198.  
  199. * When run from CLI, the original window now goes away.  In doing so, it
  200.   also appears that incompatibilities with 1.2 have been removed.  Please
  201.   feel free to comment on potential future improvements.
  202.  
  203. * The size of the screen used to blank the display has been reduced to reduce
  204.   memory required to blank the screen.
  205.  
  206. * POPCLI has been recompiled to take advantage of the latest features of 3.04
  207.   Lattice and BLINK.  Although source is being distributed, it is not likely
  208.   that a version of POPCLI could be reconstructed without these products.
  209.  
  210. Enhancements Provided under PopCLI III:
  211.  
  212. * POPCLI has again been recompiled with Lattice 4.0 and Blink 6.9.  The source
  213.   provided will NOT compile with other than the latest version of Lattice.
  214.  
  215. * POPCLI now self installs itself using the seglist splitting technique of
  216.   CBack.  Because of this, you may freely change the timeout interval or command
  217.   without having to reboot your machine.
  218.  
  219. Enhancements Provided under PopCLI IV:
  220.  
  221. * PopCLI has been (aww, you guessed!) recompiled with Lattice 5.00 and Blink
  222.   7.3.
  223.  
  224. * Multiple PopCLI keys with different commands are now supported. You may
  225.   PopCLI ADD or PopCLI FREE keys at will. PopCLI QUIT will remove *all* keys.
  226.  
  227. * Many new keywords and commands supported.
  228.  
  229. * The code has been arranged such that the setup code and data resides
  230.   in the first hunks of the PopCLI executable. This allows it to be freed when
  231.   cback goes away.
  232.  
  233. * Hex key names (0xnn) are supported; this makes it easier to assign PopCLI
  234.   keys while looking at the scan code table in the AmigaDOS manual. F1-F10
  235.   are also accepted, as well as ESC and DEL. Character keys may also be
  236.   specified as 'c'.
  237.  
  238. * Popped CLI's now retain the following information from the CLI from which
  239.   PopCLI is run:
  240.  
  241.      Current Directory
  242.      Current Directory Name (not quite equivalent to the current directory)
  243.      Default Stack Size
  244.      Prompt
  245.      Fail Level
  246.      Path
  247.  
  248.   Notice that these are copied when PopCLI is *first* run, not when the key is
  249.   pressed or even when a new key is added to PopCLI.
  250.  
  251. * Support for an ARexx port has been added.
  252.  
  253.